package archer.framework.security.token;

import java.util.Collection;
import java.util.Date;

/**
 * @author christ
 * @date 2016/5/9
 */
public interface Token {

    String getId();

    Date getStartTimestamp();

    Date getLastAccessTime();

    long getTimeout();

    boolean isValidate();

    void touch();

    void invalidate();

    Collection<Object> getAttributeKeys();

    Object getAttribute(Object key);

    void setAttribute(Object key, Object value);

    Object removeAttribute(Object key);
}
